#include <stdio.h>

int main(int argc, char const *argv[])
{
    printf("char sizeof = %jd \n", sizeof(char));
    printf("short sizeof = %jd \n", sizeof(short));
    printf("int sizeof = %jd \n", sizeof(int));
    printf("long sizeof = %jd \n", sizeof(long));
    printf("float sizeof = %jd \n", sizeof(float));
    printf("double sizeof = %jd \n", sizeof(double));

    printf("unisgned char sizeof = %jd \n", sizeof(unsigned char)); // 1byte = 0xff
    printf("unsigned int sizeof = %jd \n", sizeof(unsigned int));

    char arr1[] = {'h', 'e', 'l', 'l', 'o'};
    char arr2[] = "hello";

    printf("arr1 len = %jd \n", sizeof(arr1));
    printf("arr2 len = %jd \n", sizeof(arr2));

    char *p1;
    int *p2;
    short *p3;
    char *p4[8];

    printf("sizeof char* = %jd \n", sizeof(p1));
    printf("sizeof int* = %jd \n", sizeof(p2));
    printf("sizeof short* = %jd \n", sizeof(p3));
    printf("sizeof char*[] = %jd \n", sizeof(p4));

    return 0;
}
